This invention relates generally to networks, and more particularly to a mechanism for automatically configuring a resource to interact with a network.
To configure a resource (e.g. a desktop computer, a laptop computer, a server, etc.) to interact with a network, a number of tasks need to be performed. These tasks include, for example: (1) configuring the resource with all of the appropriate network settings to enable it to communicate with the other components on the network (e.g. domain controller, DNS server, WINS server, etc.); (2) registering the resource with the network to enable the network to recognize the resource; and (3) creating a user account on the network to enable a user to log on to the network using the resource.
Typically, these tasks are performed manually by a network administrator. That is, while sitting at the resource, the network administrator manually enters all of the network settings using various screens and utilities of the resource, registers the resource with the network, and creates all of the necessary user accounts. Because of the large amount of work involved, this process usually takes a considerable amount of time to complete. It is not uncommon, for example, for a network administrator to spend up to an hour configuring a resource. This is assuming that the administrator does everything properly the first time. If the administrator overlooks or incorrectly performs certain aspects of the process, thereby requiring all or parts of the process to be repeated, then the configuration of the resource can take even longer. Overall, configuring a resource is a labor-intensive and time-consuming process. Multiply the effort required on each resource by the number of resources and it becomes clear that in a large network, the task of configuring the individual resources can be a monumental one requiring hundreds or even thousands of manhours.
This problem is exacerbated by the fact that the configuration process may need to be performed more than once. Specifically, each time a significant change is made to a network, one or more resources may need to be reconfigured. For example, if a company decides to alter its network such that it becomes necessary to move some resources from one domain to another, then each of the resources being moved will need to be reconfigured. This means that the configuration process discussed above will have to be repeated for each of these resources, which in turn means that the cost of configuring the resources will have to be borne again. If yet another network change is implemented, the reconfiguration cost will have to be borne yet again. Over time, the cost of reconfiguring resources can become extremely high. Because of the high cost associated with reconfigurations, many companies choose to stay with their current network arrangements rather than move to newer arrangements, even if the newer arrangements would be more efficient. This is not a desirable result.
From the above discussion, it is clear that the cost associated with configuring network resources is inordinately high. Accordingly, an improved configuration methodology, which enables resources to be configured more cost-effectively and more efficiently, is needed.